Today, electronic gaming has become increasingly popular among a broad demographic ranging from kids to seniors. For example, gaming consoles such as the Xbox, from Microsoft Corporation, or the PlayStation, from Sony Corporation of America, are used typically in conjunction with a television set so that typically one to four players can play games. In addition, Personal Computers (PCs), Personal Digital Assistants (PDAs), cell phones and the like can function as game consoles, such consoles being either substantially self-contained or used in combination with adjuncts such as graphics accelerator boards, television sets, high definition monitors, LCD displays, amplifiers, speakers, headphones, and the like.
This range of consoles runs games ranging from Solitaire, available from Microsoft Corp. of Redmond, Wash., to such games as the Sims, available from Electronic Arts. Some of these games have game logic execution and user interface generation, e.g., display graphics generation and/or single or multi-channel audio generation which is primarily conducted within the console. Some games, typically on-line PC games, can have game logic execution and presentation graphics generation conducted locally at the PC, or game logic and/or presentation graphics that are primarily executed remotely at a game server, which is accessed by a network, which can be a dial-up network, or a broadband network such as DSL, cable, or Fiber to the Home, satellite, or the like. The moves or situation generated remotely by the game logic, and the graphics generated remotely, can be viewed locally by the user through an interface such as a browser, or locally executing software. Examples of such games include single player browser-based games such as solitaire, two person games such as chess or checkers, four person games such as bridge, multiplayer games with a small number of users, such as poker, or so-called massively multiplayer online games (MMOGs), a subset of which includes massively multiplayer online role playing games (MMORPGs) which can include hundreds, thousands, tens of thousands or more simultaneous players. Examples include The Sims Online, from Electronic Arts, and Everquest, from Sony Online Entertainment. Online games are also accessible through the latest game consoles, e.g., Xbox Live provides online gaming via a gaming console used in conjunction with a network and network-resident game server(s).
These games, which are graphics rich and lifelike, require distribution of the game client software from the game “manufacturer” to the physical device, i.e., game console, with which the user interacts. A complex game is delivered through one or more CDs, DVDs, specialized hardware modules, or the like, and updates or modifications can be delivered over a network. In some cases, such as cell phones and wireless PDAs, everything required to play the game (except of course for the actual cell phone or PDA) can be delivered over a wireless network.
The software, thus delivered, defines the game logic (e.g., 3 more bananas are needed to reach the next level of play), and the graphics displayed (e.g., display the green monster facing southwest, doing his mean dance, holding the laser sword with the castle fireplace as the background). Graphics, possibly assisted through a hardware graphics accelerator, are constructed by doing 3D modeling of thousands or millions of polygons, in conjunction with techniques which are known in the art for lighting, shading, shadow generation, transparency, texturing, and the like.
Separately, traditional broadcast networks have been used to deliver video and audio programming over airwaves and cable networks. Increasingly, content distribution networks and multicasting have been used to distribute rich content (e.g., audio, still images, video, or combinations of these) over networks such as private enterprise networks and the Internet. For example, one can view a video clip in a PC through service providers such as Microsoft Corporation via the Windows Media viewer, independent firms such as ifilm.com, through a variety of multimedia viewers, and also traditional broadcasters such as Cable News Network (CNN) of Atlanta, Ga., via an alternative access method, such as “surfing” to CNN.com instead of watching CNN on television.
In a basic implementation, such a content distribution network, as we shall call all such networks used for distributing rich media, can consist of a single server located somewhere in the network. In more complex implementations, multiple servers located at physically dispersed parts of the network can either distribute content through downloading or through streaming, and this content can be existing, archived programming or live broadcasts. These more complex content distribution networks can make use of features such as multicasting to distribute a stream from a single source through a network both efficiently in terms of resource use and with low latency, i.e., network and end-to-end delays. They also can cache content objects or snippets of content based on patterns of user requests at the edge. Such caching can be done at the “edge” of the network, i.e., that portion of the network connected to customers, or in customer premises elements such as the hard drive of a PC. Variations on these architectures can be used to leverage partial data objects from a multiplicity of peer elements, i.e., “neighboring” PCs, to construct a complete object or stream at the desired endpoint.
Content distribution networks have been used in off-line and on-line gaming to deliver actual game code, e.g., the game software itself, new versions, updates, or modifications. However, what is sorely needed is a way to leverage content distribution networks to deliver rich media on demand to the game console, based only on the player's need to view the rich media during the game play, in a manner responsive to the user's position or status within the game, e.g., their position within a particular “room” or “zone,” their ability to see certain objects based on their character's powers or capabilities, the player's point value or current score, their virtual position and direction, their virtual distance from an object, etc., to enhance the game player's experience while minimizing bandwidth and time required as well as reducing the time between the creation of the rich media and its use by a player of the game.
The present embodiments meet these needs.